package com.heima.pojo;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 订单实体类
 * 对应数据库表: tb_order
 *
 * @author 赵超
 */
@Data
@TableName("tb_order")
public class Order implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 订单编号 (唯一)
     */
    private String orderNo;

    /**
     * 第三方平台单号
     */
    private String thirdNo;

    /**
     * 机器编号
     */
    private String innerCode;

    /**
     * 商品SKU ID
     */
    private Long skuId;

    /**
     * 商品名称
     */
    private String skuName;

    /**
     * 商品类别ID
     */
    private Integer classId;

    /**
     * 订单状态: 0-创建; 1-支付完成; 2-出货成功; 3-出货失败; 4-失效
     */
    private Integer status;

    /**
     * 支付金额（单位：分）
     */
    private Integer amount;

    /**
     * 商品金额（单位：分）
     */
    private Integer price;

    /**
     * 支付类型：1-支付宝，2-微信
     */
    private String payType;

    /**
     * 支付状态：0-未支付；1-支付完成；2-退款中；3-退款完成
     */
    private Integer payStatus;

    /**
     * 合作商账单金额
     */
    private Integer bill;

    /**
     * 点位地址
     */
    private String addr;

    /**
     * 所属区域ID
     */
    private Long regionId;

    /**
     * 区域名称
     */
    private String regionName;

    /**
     * 所属商圈ID
     */
    private Integer businessId;

    /**
     * 商圈名称
     */
    private String businessName;

    /**
     * 合作商ID（owner_id）
     */
    private Integer ownerId;

    /**
     * 用户OpenID
     */
    private String openId;

    /**
     * 点位ID
     */
    private Long nodeId;

    /**
     * 点位名称
     */
    private String nodeName;

    /**
     * 取消原因
     */
    private String cancelDesc;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}